#ifndef Chart_Style_h
#define Chart_Style_h

#include <string>
#include <vector>


namespace ytx
{
	class Style
	{
	public:
		Style();
        float scaleFactor;
        
        std::string indexSettingSceneBackgroundColor;
        float indexSettingSceneListItemHeight;
        float indexSettingSceneListMarginLeft;
        float indexSettingSceneListMarginRight;
        
        std::string indexSettingSceneListItemIndexNameColor;
        std::string indexSettingSceneListItemTitleColor;
        std::string indexSettingSceneListItemTitleFont;
        float indexSettingSceneListItemHeaderSize;
        float indexSettingSceneListItemTitleSize;
        float indexSettingSceneListItemSliderBallWidth;
        float indexSettingSceneListItemSliderHeight;
        float indexSettingSceneListItemMarginTop;
        float indexSettingSceneListItemMarginBottom;
        
        std::string canvaserLayerColor;
        
        std::string remindLayerColor;
        
        std::string indexLayerColor;
        
        //主图的比例
        int mainViewProportion;
        //附图的比例
        int minorViewProportion;
        
        std::string indexTabbarSeparatorColor;
        float indexTabbarSeparatorHeight;
        
        float indexTabbarMarginLeft;
        float indexTabbarHeight;
        float indexTabbarWidth;
        float indexTabbarTextSize;
        std::string indexTabbarTextFont;
        std::string indexTabbarBackgrounColor;
        std::string indexTabbarSelectedColor;
        std::string indexTabbarDefaultColor;
        std::string indexTabbarIndicatorColor;
        
        float indexSettingButtonHeight;
        float indexSettingButtonWidth;
        
        bool isAvgValueShadowColor;
		std::string avgValueColor;
        std::string avgUpDropName;
        std::string avgUpDropColor;
        std::string avgPercentName;
        std::string avgPercentColor;
		std::string avgValueName;
		std::string avgValueShadowColor;
		std::string avgAVEColor;
		std::string avgAVEName;
        std::string avgOfVolumeName;
		std::string avgOfVolumeColor;
        

		std::vector<std::string> avgLineType;

		std::string backColor;
		std::string rectColor;
		std::string backLineColor;
		float backLineWidth;

		std::string coordinateColor;
		float coordinateWidth;

		std::string crosshairsColor;
		float crosshairsWidth;
		std::string crosshairsTextColor;
		float crosshairsTextSize;
		float crosshairsTextRadius;
		std::string crosshairsTextFont;
		std::string crosshairsTextBackgorundColor;
		std::string crosshairsTextLineColor;
		float crosshairsTextLineWidth;

		std::string defaultGreen;
		std::string defaultRed;
        std::string defaultWhite;

		std::string font;

		std::string hollow;
		bool isLineShadow;

		std::string kSidePercentColor;
		std::string kSidePercentFont;
		float kSidePercentSize;
		float kSidePercentLineWidth;

		std::string percentcolumn;

		float quoteLineWidth;

		std::string rectLineColor;
		float rectLineWidth;
		float rectangleWidthPercent;
		float rectangleHeightPercent;
		std::string remaindLineColor;
		std::string remaindTextColor;
		std::string remaindTextFont;
		std::string remaindTextSize;
		float remaindWidth;

		std::string sideTextColor;
		float sideTextAccuracy;
		float size;

		std::string timeRangeColor;
		float timeRangeSize;
		std::string titleColor;
		std::string textColor;

		int startColor;
		int endColor;

		float dashLineLength;
		float dashLineDistance;

		float infoWindowLineWidth;
		std::string infoWindowLineColor;
		std::string infoWindowBackColor;
		std::string infoWindowTitleBackColor;
		std::string infoWindowColor;
		float warningLineWidth;
		std::string warningLineColor;
		float warningLineRadius;
		std::string warningLineDashColor;
		float warningLineDonutWidth;
		float warningLineDashWidthBig;
		float warningLineDashWidthSmall;
		float warningLineDashLength;
		float warningLineDashDistance;
//							 int warningLineTime;
        
        float buyLineWidth;
        std::string buyLineColor;
        float buyPointTextSize;
        std::string buyPointTextColor;
        
		std::string TJFillColorTop;
		std::string TJFillColorBottom;
        
		std::string AVGEconomicCalendarFillColorDefault;
        std::string AVGEconomicCalendarFillColorSelected;
		float AVGEconomicCalendarRadius;
		float AVGEconomicCalendarTextFont;
		std::string AVGEconomicCalendarTextColor;
        
        float IndexEconomicCalendarDefaultTextSize;
        std::string IndexEconomicCalendarDefaultTextColor;
        std::string IndexEconomicCalendarDefaultTextFont;
        
        float IndexEconomicCalendarECTimeTextSize;
        std::string IndexEconomicCalendarECTimeTextColor;
        std::string IndexEconomicCalendarECTimeTextFont;
        
        float IndexEconomicCalendarECTitleTextSize;
        std::string IndexEconomicCalendarECTitleTextColor;
        std::string IndexEconomicCalendarECTitleTextFont;
        
        float IndexEconomicCalendarECValueTextSize;
        std::string IndexEconomicCalendarECValueTextColor;
        std::string IndexEconomicCalendarECValueTextFont;
        
		std::string tabbarBackgroundColor;
		std::string tabbarDefaultColor;
		std::string tabbarSelectedColor;
		std::string tabbarTextFont;
        std::string tabbarIndicatorColor;
        float tabbarIndicatorWidth;
		float tabbarTextSize;
		float tabbarHeight;
		float tabbarWidth;

        //图上的文字和向左的文字的距离
        float topSideTextLeftMargin;
        
        
        std::string QKTypeBackgroundLong;
        std::string QKTypeBackgroundShort;
        std::string QKTypeBackgroundFlat;
        
        std::string QKTypeLong;
        std::string QKTypeShort;
        std::string QKTypeFlat;
        std::string QKTypeLast;
        
        std::string QKTTypeBackgroundLong;
        std::string QKTTypeBackgroundShort;
        std::string QKTTypeBackgroundFlat;
        
        std::string QKTTypeLong;
        std::string QKTTypeShort;
        std::string QKTTypeFlat;
        std::string QKTTypeLast;
        
        std::string GameMatrixTypeBackgroundLong;
        std::string GameMatrixTypeBackgroundShort;
        std::string GameMatrixTypeBackgroundLineLong;
        std::string GameMatrixTypeBackgroundLineShort;
        std::string GameMatrixTypeBoundLong;
        std::string GameMatrixTypeBoundShort;
        std::string GameMatrixTopTextColor;
        std::string GameMatrixKLineTypeLong;
        std::string GameMatrixKLineTypeShort;
        std::string GameMatrixTriangleVertexTypeLong;
        std::string GameMatrixTriangleVertexTypeShort;
        
        std::string HJJTTypeUpBackground;// 黄金阶梯高抛区颜色
        std::string HJJTTypeDownBackground;// 黄金阶梯低吸区颜色
        std::string HJJTTypeUpLightBackground;// 黄金阶梯高抛区浅色
        std::string HJJTTypeDownLightBackground;// 黄金阶梯低吸区浅色
        
        std::string HJJTTypeUpLineColor;
        std::string HJJTTypeBottomLineColor;
        std::string HJJTTypeSUpLineColor;
        std::string HJJTTypeUpMidLineColor;
        std::string HJJTTypeDownMidLineColor;
        std::string HJJTTypeSBottomLineColor;
        
        
        std::string kLineHighLowColor;
        
        float rectPaddingTop;
        float rectPaddingBottom;
        float rectPaddingLeft;
        float rectPaddingRight;
        
        
        std::string userPaintDefaultColor;

        void init(float scaleFactor);
    private:
        void initIndexSetting();
        
        void initIndexTabbar();
        
        void initCrosshairs();
        
        void initInfoWindow();
        
        void initWarningLine();
        
        void initAVGEconomicCalendar();
        
        void initIndexEconomicCalendar();
        
        void initTabbar();
        
        void initQKType();
        
        void initQKTType();
        
        void initGameMatrixType();
        
        void initHJJTType();
        
        void initBuyLine();
	};
}



#endif
